home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 2000-09-26 | 3.1 KB | 123 lines |
- (*$S- *)
- DEFINITION MODULE GEM;
-
- FROM SYSTEM IMPORT BYTE,WORD,ADDRESS;
- FROM DOS IMPORT FileHandlePtr;
-
- CONST
-
- version = 0;
- revision = 1;
-
- TYPE
- STRING = POINTER TO ARRAY [0..79] OF CHAR;
-
- WindowFlags = (windowClose,windowDepth,borderless,memSwap);
- WindowFlagSet = SET OF WindowFlags;
-
- GadgetTypes = (boolean,string,integer,gadBorderless,systemClose,systemDepth);
- GadgetTypeSet = SET OF GadgetTypes;
-
- MessageClasses = (keyHit,gadgetUp,menuPick,closeWindow,activateWindow,noWindow);
- MessageClassSet = SET OF MessageClasses;
-
- MouseButtons = (left,right,middle,mb4,mb5,mb6,mb7,
- mb8,mb9,mb10,mb11,mb12,mb13,mb14,mb15);
-
- MouseButtonSet = SET OF MouseButtons;
-
- WindowPtr = POINTER TO Window;
- GadgetPtr = POINTER TO Gadget;
- MenuPtr = POINTER TO Menu;
- MenuItemPtr = POINTER TO MenuItem;
- SystemMessagePtr = POINTER TO SystemMessage;
- GDOSPtr = POINTER TO GDOS;
-
- MenuItem = RECORD
- text : STRING;
- checkit : BOOLEAN;
- checked : BOOLEAN;
- enabled : BOOLEAN;
- END (* RECORD *);
-
- Menu = RECORD
- nextMenu : MenuPtr;
- leftEdge,width : CARDINAL;
- mx1,mx2 : CARDINAL;
- x1,x2 : CARDINAL;
- text : ADDRESS;
- enabled : BOOLEAN;
- itemCount : CARDINAL;
- items : ARRAY [0..24] OF MenuItem;
- END (* RECORD *);
-
- Gadget = RECORD
- nextGadget : GadgetPtr;
- leftEdge,topEdge,
- width,height : CARDINAL;
- x1,y1,
- x2,y2,
- w,h : CARDINAL;
- type : GadgetTypeSet;
- text : STRING;
- id : CARDINAL;
-
- undo : ADDRESS;
- END (* RECORD *);
-
- Window = RECORD
- nextWindow : WindowPtr;
- leftEdge,topEdge,
- width,height : CARDINAL;
- x1,y1,
- x2,y2,
- w,h : CARDINAL;
- flags : WindowFlagSet;
- title : STRING;
- firstMenu : MenuPtr;
- firstGadget : GadgetPtr;
-
- lock : BOOLEAN;
- swapFile : FileHandlePtr;
- swapMem : ADDRESS;
- swapSize : CARDINAL;
- END (* RECORD *);
-
- SystemMessage = RECORD
- class : MessageClassSet;
- mouseX : CARDINAL;
- mouseY : CARDINAL;
- mouseButtons : MouseButtonSet;
- menuNum : CARDINAL;
- itemNum : CARDINAL;
- gadget : GadgetPtr;
- window : WindowPtr;
- END (* RECORD *);
-
- GDOS = RECORD
- (* ----- Nur fr internen Gebrauch --------- *)
- gdosID : ARRAY [0..3] OF CHAR;
-
- (* ----- ffentliche Variablen ------------- *)
- gdosVersion : CARDINAL;
- gdosRevision : CARDINAL;
- graphics64 : ADDRESS;
- firstWindow : WindowPtr;
-
- (* ----- Nur fr internen Gebrauch --------- *)
- mouseLock : CARDINAL;
- message : SystemMessage;
- systemMessage : SystemMessagePtr;
- oldColors : ARRAY [0..(16*3)] OF BYTE;
- tempFile : ARRAY [0..99] OF FileHandlePtr;
- END (* RECORD *);
-
- VAR gdos : GDOSPtr;
-
- PROCEDURE InstallGDOSVector() : BOOLEAN;
- PROCEDURE RemoveGDOSVector();
-
- PROCEDURE GetGDOSVector() : GDOSPtr;
-
- END GEM.